package routes

import (
	v1 "ginTea/api/v1"
	"ginTea/middleware"
	"ginTea/utils"

	"github.com/gin-gonic/gin"
)

func InitRouter() {
	gin.SetMode(utils.AppMode)
	r := gin.Default()
	r.Use(middleware.Cors())
	// 自定义日志 如需要使用可解开注释
	// r := gin.New()
	// r.Use(middleware.Logger())
	// r.Use(gin.Recovery())

	auth := r.Group("api/v1")
	auth.Use(middleware.JwtToken())
	// auth.Use(middleware.Cors())
	{
		// 用户模块接口
		// 获取用户列表
		auth.GET("user/getList", v1.GetUserList)

		// 更新用户信息
		auth.PUT("user/updateRecord", v1.UpdateUser)
		// 更新个人信息
		auth.PUT("user/updateRecordByCus", v1.UpdateUserByCus)

		// 修改密码
		auth.PUT("user/updatePwd", v1.UpdatePwd)

		// 删除用户
		auth.DELETE("user/deleteRecord/:id", v1.DeleteUser)

		// 收货地址模块
		// 获取收货地址列表
		auth.GET("address/getList", v1.GetAddressList)

		// 添加收货地址
		auth.POST("address/createRecord", v1.CreateAddress)

		// 删除地址
		auth.DELETE("address/deleteRecord/:id", v1.DeleteAddress)

		// 更新地址信息
		auth.PUT("address/updateRecord/:id", v1.UpdateAddress)

		// 商品模块接口
		// 添加商品
		auth.POST("goods/createRecord", v1.AddGoods)
		// 更新商品信息
		auth.PUT("goods/updateRecord/:id", v1.UpdateGoods)
		// 删除商品
		auth.DELETE("goods/deleteRecord/:id", v1.DeleteGoods)

		// 公告模块接口
		// 添加公告
		auth.POST("notice/createRecord", v1.AddNotice)
		// 更新公告信息
		auth.PUT("notice/updateRecord/:id", v1.UpdateNotice)
		// 删除公告
		auth.DELETE("notice/deleteRecord/:id", v1.DeleteNotice)

		// 添加知识点
		auth.POST("tips/createRecord", v1.AddTips)
		// 更新知识点信息
		auth.PUT("tips/updateRecord/:id", v1.UpdateTips)
		// 删除知识点
		auth.DELETE("tips/deleteRecord/:id", v1.DeleteTips)

		// 购物车模块接口
		// 获取购物车纪录
		auth.GET("cart/getList", v1.GetCartList)
		// 添加到购物车
		auth.POST("cart/createRecord", v1.AddCart)
		// 更新购物车信息
		auth.PUT("cart/updateRecord", v1.UpdateCart)
		// 删除购物车
		auth.DELETE("cart/deleteRecord", v1.DeleteCarts)

		// 订单模块接口
		// 获取订单
		auth.GET("order/getList", v1.GetOrdersList)
		// 添加订单
		auth.POST("order/createRecord", v1.AddOrders)
		// // 更新订单信息
		auth.PUT("order/updateRecord/:id", v1.UpdateOrderStatus)
		// // 删除订单
		// auth.DELETE("order/deleteRecord/:id", v1.DeleteOrders)

		// 分类模块接口
		// 添加分类
		auth.POST("category/createRecord", v1.AddCategory)
		// 更新分类信息
		auth.PUT("category/updateRecord/:id", v1.UpdateCategory)
		// 删除分类
		auth.DELETE("category/deleteRecord/:id", v1.DeleteCategory)

		// 轮播图接口
		//添加轮播图
		auth.POST("carousel/createRecord", v1.AddCarousel)
		// 删除轮播图
		auth.DELETE("carousel/deleteRecord/:id", v1.DeleteCarousel)
		// 更新轮播图信息
		auth.PUT("carousel/updateRecord/:id", v1.UpdateCarousel)
		// 上传文件
		// auth.POST("upload", v1.Upload)

		// 获取统计数据
		auth.GET("getStatistics", v1.GetStatistics)
	}
	router := r.Group("api/v1")
	// router.Use(middleware.Cors())
	{
		// 添加用户
		router.POST("user/createRecord", v1.AddUser)
		// 获取商品列表
		router.GET("goods/getList", v1.GetGoodsList)
		// 获取公告列表
		router.GET("notice/getList", v1.GetNoticeList)
		// 获取知识点列表
		router.GET("tips/getList", v1.GetTipsList)
		// 获取商品详细信息
		router.GET("goods/getInfo", v1.GetGoodsInfo)
		// 获取分类列表
		router.GET("category/getList", v1.GetCategoryList)
		// 获取某分类下所以=有商品
		router.GET("goods/getInfoByCid", v1.GetGoodsByCategoryId)
		// 用户登陆
		router.POST("login", v1.Login)
		// 前端用户登陆
		router.POST("loginFront", v1.LoginFront)
		// 获取用户信息
		router.GET("currentUser", v1.GetUserInfo)

		//获取轮播图
		router.GET("carousel/getList", v1.GetCarouselList)
		//上传图片
		router.POST("upload", v1.Upload)
	}
	r.Run(utils.HttpPort)
}
